Morton code(莫顿编码)是一种把多维坐标(常见为2D/3D)映射为一维整数的编码方法,做法是将各维坐标的二进制位交错(interleave)排列,从而在一维排序中尽量保留空间邻近性;也常称为 Z-order / Z-order curve(Z序)。常用于空间索引、四叉树/八叉树、图形学与数据库中的邻域查询与缓存友好布局。
/ˈmɔːrtən koʊd/
Morton codes help keep nearby points close in memory.
莫顿编码有助于让空间上相近的点在内存中也更接近。
By sorting triangles by their Morton code, the renderer improves cache locality and speeds up traversal of the spatial hierarchy.
通过按莫顿编码对三角形排序,渲染器提升了缓存局部性,并加快了对空间层级结构的遍历。
“Morton”来自提出该编码/排序思想的研究者 G. M. Morton(常被追溯到1960年代关于地理与空间数据排序的工作);“code”指将坐标按规则编码成整数。其核心思想是把各维度的二进制位交错拼接,得到可排序的一维键;因生成的访问路径形似字母“Z”,也称 Z-order。